home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
007
/
cstdio.arc
/
SRC.ARC
/
FDOPEN.C
< prev
next >
Wrap
C/C++ Source or Header
|
1985-05-28
|
728b
|
30 lines
/* fdopen.c - associate stream with file descriptor, return file pointer.
(C) Copyright 1985 Gregory R. Mansfield - All Rights Reserved.
G. R. Mansfield. 85/05/28.
Ver 1.0-5528.
*/
#include <stdio.h>
FILE *fdopen(fd, mode)
register char *mode;
register int fd;
{
register FILE *fp;
if (*mode != 'r' && *mode != 'w' && *mode != 'a')
return(NULL);
for (fp = _iob; fp < _iob + _NFILE; fp++)
if ((fp->_flag & (_READ | _WRITE)) == 0)
break; /* found free slot */
if (fp >= _iob + _NFILE) /* no free slots found */
return(NULL);
fp->_fd = fd;
fp->_cnt = 0;
fp->_base = NULL;
fp->_flag &= ~(_READ | _WRITE | _UNBUF);
fp->_flag |= (*mode == 'r') ? _READ : _WRITE;
return(fp);
}